﻿using System.Collections.Generic;
using Resn.WhuPub.DML;

namespace Resn.WhuPub.BIL
{
        /// <summary>
        ///定义门类的属性和方法
        /// </summary>
        public interface ICategory : IEntity
        {
                #region 属性

                #region 基本属性

                /// <summary>
                ///获取或设置名称
                /// </summary>
                /// <value>
                ///门类的名称
                /// </value>
                string Name { get; set; }

                /// <summary>
                ///获取或设置层次
                /// </summary>
                /// <value>
                ///层次
                /// </value>
                CategoryLevel CategoryLevel { get; set; }

                /// <summary>
                ///获取或设置门类的代码
                /// </summary>
                /// <value>
                ///门类的代码
                /// </value>
                string Code { get; set; }

                #endregion 基本属性

                /// <summary>
                ///获取门类模型
                /// </summary>
                /// <value>
                ///门类模型
                /// </value>
                CategoryModel Model { get; }

                /// <summary>
                ///获取门类下属的学科集合
                /// </summary>
                /// <value>
                ///门类下属的学科集合
                /// </value>
                List<ISubject> Subjects { get; }

                #endregion 属性

                #region 方法

                /// <summary>
                ///创建学科
                /// </summary>
                /// <param name="name">名称</param>
                /// <param name="code">代码</param>
                /// <returns>创建的学科对象</returns>
                ISubject CreateSubject(string name, string code);

                

                #endregion 方法
        }
}